# _*_ coding:utf-8 _*_
# Author:liu
from pyecharts import Page, Style, Bar, Pie, WordCloud, EffectScatter, Geo

'''pyecharts工具类'''


def create_geo_charts(data, title):
    '''地图'''
    page = Page()
    # 样式
    style = Style(
        title_color="#fff",
        title_pos="center",
        width=1200,
        height=600,
        background_color='#c4ccd3'
    )
    # 创建地图模型
    chart = Geo(title, "", **style.init_style)
    # 数据 ['上海', '北京', '广州', '深圳', '苏州'] [5, 40, 10, 15, 5]
    attr, value = chart.cast(data)
    # 添加数据
    chart.add("", attr, value, maptype='china', is_visualmap=True, type="effectScatter", is_legend_show=False,
              geo_emphasis_color='c4ccd3',
              visual_text_color='#2f4554')

    page.add(chart)

    return page


def create_Bar_charts(data, title):
    '''柱状图'''

    page = Page()

    style = Style(
        width=800, height=600,
        title_pos="center",
    )

    chart = Bar(title, **style.init_style)
    attr, value = chart.cast(data)
    chart.add('', attr, value, mark_line=["average"],
              mark_point=["max", "min"], is_datazoom_show=True, datazoom_range=[50, 80])

    page.add(chart)
    return page


def create_Pie_charts(data, title):
    '''饼状图'''
    page = Page()

    style = Style(
        width=800, height=800
    )

    chart = Pie(title, **style.init_style)
    attr, value = chart.cast(data)
    chart.add("", attr, value, is_label_show=True)
    page.add(chart)
    return page


def create_clound_charts(data, title):
    '''词云图'''
    page = Page()
    # print(data)

    style = Style(
        width=2000, height=1000,
        title_pos="center",
    )

    chart = WordCloud(title, **style.init_style)
    attr, value = chart.cast(data)
    chart.add("", attr, value, shape='circle')
    page.add(chart)

    return page


if __name__ == '__main__':
    # 用于测试
    data = {'杭州': 5, '上海': 5, '深圳': 10, '厦门': 5, '广州': 15, '北京': 35, '东莞': 1, '苏州': 3, '西安': 4, '重庆': 8, '长沙': 3,
            '武汉': 3}
    '''
    data = {'金融央企,五险一金': 4, '大平台,氛围好': 1, '五险一金,补充医疗险,带薪年假,弹性工作': 1, '平台好,技术新,大牛多': 1, '靠谱团队,项目给力,福利多多': 1,
            '带薪年假,定期体检,五险一金,福利多多': 7, '七险一金,弹性工作,免费三餐,扁平管理': 1, '百万Dau,免费3餐,千万流量,微服务': 1, '五险一金，双休，班车接送，免费早餐': 1,
            '出国旅游,免费健身,股票期权,带薪年假': 1, '福利好,工作氛围好,发展平台大': 1, '福利好,大牛多': 1, '五险一金,季度旅游,生日会,带薪年假': 1,
            '五险一金,季度旅游,节日福利,带薪年假': 1, '大牛多,快速发展期,业务好,17薪': 1, '时间自由,技术先进,区块链,一年多薪': 1, '双休,过节费,年度体检,旅游': 1,
            '福利多多,带薪年假,定期体检,五险一金': 1, '五险一金,弹性工作制,绩效奖金,零食福利多': 1, '五险一金,餐补,生日会,优秀团队': 1, '纯纯技术团,魅力领导,带薪年假,周末双休': 1,
            '牛人云集,能源互联网': 1, '13薪,年终奖,公司福利好,公司氛围好': 1, '期权激励,D轮融资,行业第一,技术牛人多': 1, '精英团队、股票期权，购房贷款、丰厚奖金': 1,
            'pytho,技术驱动': 1, '技术培养,能力提升,培养计划,福利好': 1, '上市公司,项目大,福利多多,周末双休': 1, '国际产品,大牛亲带,带薪年假,开放办公': 1,
            'IT互联网,平台大,发展好': 1, '高级': 9, '六险一金,弹性不打卡,高成长团队': 1, '环境好,待遇好,旅游,奖金': 1, '上市公司,节日福利,话费补贴,五险一金': 1,
            '全五险一金,牛人多,发展快,福利好': 1, '五险一金,带薪年假,弹性工作,氛围自由': 1, '无人驾驶,车厂合作,扁平化管理,股票期权': 1, '上市公司,福利齐全,年终奖丰厚': 1,
            '前景好,福利好,区块链': 1, '人工智能,弹性工作,扁平管理,技术牛人': 1, '牛人多,发展空间大,氛围轻松': 1, '五险一金,扁平化管理,地铁周边,团建': 1,
            '晋升机会,全栈发展,工作餐,周末双休': 1, '管吃管住、顶级投资、原始股权奖励': 1, '五险一金,试用不打折,免费班车,员工旅游': 1, 'AI最前线,技术领先,科研创新,全额福利': 1,
            '腾讯公有云,新技术': 1, '项目大,平台优,技术新,发展好': 1, '晋升空间大、福利好': 1, '亿级用户,准备上市,技术氛围,不加班': 1, '六险一金,年终奖,双休,法定年假': 1,
            '绩效奖金,带薪年假': 1, '五险一金,周末双休,绩效奖金,弹性工作': 2, '极客文化,数字货币,弹性工作,上班不打卡': 1, '大数据、人工智能': 1,
            '年终奖,免费工作餐,五险一金,高端医疗': 1, '行业第一,技术导向,海量用户,超强团队': 10, '五险一金；弹性工作；餐补；定期体检': 1, '周末双休 免费体检 员工旅游 五险一金': 1,
            '期权,弹性时间,大牛多': 1, '股票期权,弹性工作制,行业龙头,地铁周边': 1, '15天年假,5天病假,年终多薪,公司前景': 1, '股票期权，五险一金，交补餐补，零食水果': 1,
            '一日三餐,六险一金,14薪,定期团建': 1, '提供住宿,一日三餐,五险一金,晋升空间': 1, '氛围和谐,技术大佬,定期团建,发展空间大': 1,
            '六险一金，弹性工作，免费三餐，租房补贴，带薪休假，休闲下午茶，扁平管理，健身瑜伽，过亿用户，职业大牛，晋升空间，团队氛围好，优厚薪资': 1, '大牛云集，人工智能，扁平管理': 1,
            '五险一金,绩效奖金,技术大牛多,团队年轻化': 1, '人工智能,前景广阔,福利齐全,技术领先': 1, '人工智能,黑科技,大牛多': 1, '五险一金,大平台': 1, '五险一金,双休,餐补,氛围好': 1,
            '氛围好,领导好,环境佳,机会多': 1, '商业保险,年度旅游,带薪年病假,弹性工作': 1, '发展空间大,机遇挑战多,待遇优厚': 1, '提供住宿,一日三餐,晋升空间,紫牛基金投': 1,
            '定期培训,一对一导师,AI技术,优质项目': 1, '一日三餐、带薪年假、弹性工作、六险一金': 1, '餐补+年终奖+良好的晋升空间': 1, '不限量零食,福利多多,年终奖,办公环境好': 1,
            '弹性工作 福利优厚 补充医疗 定期体检': 1, '上市公司,五险一金,薪酬福利好,发展空间大': 1, '15薪': 1, '技术驱动,极客氛围,大牛团队': 1,
            '带薪年假,六险一金,期权股票,大牛多多': 1, '上市公司,弹性工作制,大牛多,发展空间大': 1, '5天8小时,薪资福利好': 1, '时间自由,技术先进,区块链': 1, '靠地铁,不加班,有期权': 1,
            '临近地铁,大牛团队,六险一金,年终奖': 1, '平均16薪,扁平化管理,弹性工作,福利好': 4, '团队大牛多,福利待遇优': 1, '五险一金,免费午餐,饮料零食,团建、旅游': 1,
            '人工智能,扁平管理,晋升空间大': 1, '带薪年假,六险一金,弹性工作,股票期权': 1, '期权激励、年度旅游、年终丰厚、零食水果': 1, '发展空间,大牛交流,五险一金,福利补贴': 1,
            '双休,提成,带薪休假,五险一金': 1, '双休,带薪年假,年度旅游,五险一金': 5, '发展空间大 期权激励 弹性工作': 1, '大牛带你飞,零食不断,过亿用户': 1,
            '朝阳行业,平台广阔,技术大牛,福利丰厚': 1, 'JAVA': 1, '周末双休,五险一金,节日福利,提供食宿': 1, '五险一金,待遇丰厚': 1, '核心业务，角色重要，成长空间大': 1,
            '一流的平台+迷之福利+丰厚奖金': 1, '弹性': 1, '五险一金,绩效奖金,免费早餐,交补餐补': 1, '弹性工作,五险一金,扁平管理,家属福利': 1, '福利好、待遇好、上市公司': 1,
            '大平台,加班少,成长快,学院派': 1, '平台大,发展前景好,五险一金,周末双休': 1, '仿真模型,六险一金,节日福利,法定假期': 1, '五险一金,弹性工作,办公环境好,年底双薪': 1,
            '五险一金、14薪/年、下午茶、工作餐等等': 1, '上市公司,福利多多,项目大,五险一金': 1, '六险两金,年度体检,绩效奖金,渠道晋升': 1, '五险一金,弹性工作,团队融洽,环境优美': 1,
            '绩效奖金 年终奖金 交通补贴 餐饮补贴': 7, '年度旅游,互联网平台,硬科技,弹性上班时': 1, '牛人云集，优质福利': 1, '员工旅游 员工体检 五险一金': 1,
            '氛围好,发展快,领导好,空间大': 1, '五险一金,年度体检,年度旅游,年终福利': 1, '平台大,发展前景好,五险一金,资深团队': 1, '年轻团队,扁平管理,弹性工作,简单透明': 1,
            '扁平化管理,发展空间大,产品有竞争,氛围融洽': 1, '游戏分红,期权,牛人带！': 1, '五险一金,周末双休,工作餐,氛围好': 1, '六险一金,年度旅游,项目奖金': 1, '工程师文化': 1,
            '后端开发,大数据,工程': 1, '商业保险,弹性工作,零食水果,扁平管理': 1, '大咖云集,技术氛围好': 1, '最高19薪 独角兽公司 学习型团队': 1,
            '提供住宿,一日三餐,晋升空间,五险一金': 1, '平台好,空间大': 1, '发展前景大、工作氛围好、技术牛人多': 1, '高并发,高流量,技术成长快,世界级产品': 1,
            '五险一金,提供住宿,员工旅游': 1, '五险一金,股票期权,年终奖金,员工旅游': 1, '各项补贴 带薪年病假 弹性上下班': 1, '氛围好,技术大牛': 1,
            '工作氛围好,专业培训,发展空间大,上市公司': 1}

    '''
    create_map_charts(data, '地区分布').render()

    # create_clound_charts(data, 'title').render()
    # create_EffectScatter_charts(data, 'title').render()
